<?php
class IniBasedEnvironment {
    const ENVIRONMENTS_FILE = 'environments.ini';
    
    const SERVICES_KEY = 'aspyct.services';
    const DEFAULT_SERVICES_FILE = 'services.ini';
    
    const ROUTES_KEY = 'aspyct.routes';
    const DEFAULT_ROUTES_FILE = 'routes.ini';
    
    const CONTROLLERS_KEY = 'aspyct.controllers';
    const DEFAULT_CONTROLLERS_FILE = 'controllers.ini';
    
    private $env;
    private $dir;
    
    private $routes;
    
    /**
     *
     * @var ServiceContainer
     */
    private $serviceContainer;
    
    public function __construct($dir, $env) {
        $realpath = realpath($dir);
        
        if ($realpath === false) {
            throw new RuntimeException("No such directory: $dir");
        }
        
        $this->dir = $realpath . '/';
        $this->env = $env;
        
        $this->init();
    }
    
    protected function init() {
        $configItems = inheritIni($this->dir.self::ENVIRONMENTS_FILE);
        
        if (array_key_exists($this->env, $configItems)) {
            
        }
        else {
            throw new RuntimeException("No such environment: $this->env");
        }
    }
    
    public function getController($name) {
        
    }
}
